package com.itany.corejava.code04_循环结构;

import java.util.Scanner;

/**
 * @author 石小俊
 * 2024年07月10日 8:55
 * 用户输入一个数字,在控制台通过星号*打印倒等腰三角形
 * 输入的数字表示图形的行数
 * * * * * * * *
 *   * * * * *
 *     * * *
 *       *
 */
public class Test13_打印倒等腰三角形 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入倒等腰三角形行数:");
        int length = sc.nextInt();
        // 外层循环控制行数
        for (int i = 1; i <= length; i++) {
            // 内层循环控制打印的内容
            // 此时的内容包含空格与星号

            // ***********
            //  *********
            //   *******
            //    *****
            //     ***
            //      *
            // 总行数:length=6
            // 行数		空格数		星号数
            // 1			0=1-1		11=2*(6-1)+1
            // 2			1=2-1		9=2*(6-2)+1
            // 3			2=3-1		7=2*(6-3)+1
            // 4			3=4-1		5=2*(6-4)+1
            // 5			4=5-1		3=2*(6-5)+1
            // 6			5=6-1		1=2*(6-6)+1
            // i			i-1			2*(length-i)+1

            // 先打印空格
            for (int j = 1; j <= i - 1; j++) {
                System.out.print("  ");
            }
            // 再打印星号
            for (int j = 1; j <= 2 * (length - i) + 1; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}
